iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
自我挑戰組

AI :PyTorch系列 第 5

第五天 梯度下降的優化

  • 分享至 

  • xImage
  •  

在机器学习模型训练时,模型优化算法是必不可少的,对于不同的模型,需要对原始的梯度下降优化算法不断的改进优化,所以我們要學習不同的梯度下降模型

1 批梯度下降法
批梯度下降法(batch gradient descent)是指在整个训练数据集上求解损失函数关于参数θ的梯度:
由于每次更新时使用整个数据集计算所有梯度,因此计算速度非常慢,同时批梯度下降法不能在线更新模型,无法在运行过程中,增加新的样本

2 随机梯度下降法
常,随机梯度下降法相比于批梯度下降法具有更快的速度,可用于在线学习,SGD以高方差频繁地更新,因此容易出现下列剧烈波动的情况。

3 小批量梯度下降法
小批量梯度下降法(mini-batch gradient descent)综合了上述两种方法的优点,在每次训练时使用 n 个小批量样本进行更新
训练神经网络模型,当使用小批量梯度下降法时,也将其称为SGD

4 Momentum-动量法
SGD很难通过陡谷,即在一个维度的表面弯曲程度远大于其他维度的区域,这种情况通常出现在局部最优点附近,这种情况下,SGD在不断波动下通过陡谷的斜坡,在沿着谷底到局部最优点的路径上缓慢前进
动量法是一种帮助SGD在相关方向上加速并抑制摇摆的方法,利于处理非平稳梯度,动量法是将上一次更新量的一个分量γ增加到当前的更新量中

5 5Nesterov-加速梯度下降法
接着上面举的例子,如果球盲目的沿着斜率方向向下滚动,结果也不一定总是令人满意,我们希望有一个智能的球,能够知道它将要去哪,如果遇到斜率将要上升时,能够知道减速

6 Adagrad-自适应梯度
Adagrad是一种适应参数的梯度下降优化算法,其自适应性可以个性化到特征级别,出现次数较少的特征的,会使用更大的学习率,出现次数较多的特征,会使用较小的学习率,因此Adagrad适合于稀疏数据的深度神经网络模型

明天再次開始實作數據處理


上一篇
第四天 手動實現線性回歸
下一篇
第六天 數據集類與加載器的使用
系列文
AI :PyTorch30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言